/**
 * 适配器模式：通过中间件，将无法使用的接口转为可直接使用的接口。
 * 
 * 示例描述：
 * 
 * 有一个 MediaPlayer 接口和一个实现了 MediaPlayer 接口的实体类 AudioPlayer。默认情况下，AudioPlayer
 * 可以播放 mp3 格式的音频文件。
 * 
 * 我们还有另一个接口 AdvancedMediaPlayer 和实现了 AdvancedMediaPlayer 接口的实体类。该类可以播放 vlc 和
 * mp4 格式的文件。
 * 
 * 我们想要让 AudioPlayer 播放其他格式的音频文件。为了实现这个功能，我们需要创建一个实现了 MediaPlayer 接口的适配器类
 * MediaAdapter，并使用 AdvancedMediaPlayer 对象来播放所需的格式。
 * 
 * AudioPlayer 使用适配器类 MediaAdapter
 * 传递所需的音频类型，不需要知道能播放所需格式音频的实际类。AdapterPatternDemo 类使用 AudioPlayer 类来播放各种格式。
 * 
 * 解读：
 * 1.目标接口：MediaPlayer
 * 2.被适配接口：AdvancedMediaPlayer
 * 3.适配器：MediaAdapter
 * 
 * 核心目的是通过适配器模式将无法直接使用的AdvaceMediaPlayer通过适配器MediaPlayer达到直接使用的目的。
 * 
 */
public class SimpleMain {
    public static void main(String[] args) {
        AudioPlayer audioPlayer = new AudioPlayer();
        audioPlayer.play("mp3");
        audioPlayer.play("mp4");
        audioPlayer.play("vlc");
        audioPlayer.play("other");
    }
}
